import java.awt.EventQueue;

/**
* @file Trigger.java
*
* @brief Diese Datei enthält die Trigger-Klasse.
*
* @author Alrik Künne
*
* @date 01.06.2012 - erste Version
* @date 19.06.2012 - einige Veränderungen, Multi-Threading
**/

/** 
* @class Trigger 
* 
* @brief Der Trigger für die EventQueue
* 
* Diese Klasse wird für Multithreading gebraucht. Sie erzeugt ein UpdateRequest und reiht es
* in die EventQueue alle 10ms ein.
*/ 
public class Trigger extends Thread{
	//Milliseconds
	private final static long UPDATE_INTETRVAL = 10;
	private UpdateRequest updateReq;	// update Request
	
	Trigger(Lift lift, SimuFrame viewHouse){
		updateReq = new UpdateRequest( lift,  viewHouse);
	}
	
	public void run(){
		try{
			while(!isInterrupted()){
				EventQueue.invokeLater(updateReq);
				Thread.sleep(UPDATE_INTETRVAL); 
			}
		}catch( InterruptedException e){
			System.out.println("LiftSimu unterbrochen\n");
		}
	}
}
